<template>
  <div class="list" ref="wrapper">
     <div>
	     <div class="area">
	     	<div class="title border-topBottom">
	     		当前城市
	     	</div>
	     	<div class="button-list">
	     		<div class="buttonwrapper">
	     			<div class="button">{{this.currentCity}}</div>
	     		</div>
	     		
	     	</div>
	     </div>
	     <div class="area">
	     	<div class="title border-topBottom">
	     		热门城市
	     	</div>
	     	<div class="button-list">
	     		<div
	     		 class="buttonwrapper"
	     		 v-for="item of hot" 
	     		 :key="item.id"
	     		 @click="handleCityClick(item.name)"
	     		 >
	     			<div class="button">{{item.name}}</div>
	     		</div>
	     	</div>
	     </div>
	     <div
	       class="area"
	       v-for="(item,key) of cities" 
	       :key="key"
	       :ref="key"
	       >
	     	<div class="title border-topbottom" >
	     		{{key}}
	     	</div>
	     	<div class="item-list">
	     		<div
	     		 class="item border-bottom" 
	     		 v-for="innerItem of item" 
	     		 :key="innerItem.id"
	     		 @click="handleCityClick(innerItem.name)"
	     		 >
	     		   {{innerItem.name}}
	     		</div>
	     		
	     	</div>
	     </div>
     </div>
  </div>
</template>
<script>
import {mapState,mapMutations} from 'vuex'
import Bscroll from 'better-scroll'
export default {
  name:'CityList',
  props:{
      cities:Object,
      hot:Array,
      letter:String
  },
  computed:{
  	...mapState({
  		currentCity:'city'
  	})
  },
  methods:{
      handleCityClick(city){
      	// this.$store.commit('changeCity',city)
      	 this.changeCity(city)
         this.$router.push('/')
      },
      ...mapMutations(['changeCity'])
  },
  watch:{
  	 letter(){
  	 	if(this.letter){
  	 		const element=this.$refs[this.letter][0]
  	 		// console.log(element)
  	 		this.scroll.scrollToElement(element)
  	 	}
  	 }
  },
  mounted (){
    this.scroll=new Bscroll(this.$refs.wrapper)
  }
}
</script>
<style lang="stylus" scoped>
    @import '~styles/varibles.styl'
    .border-topbottom
      &:before
        border-color:#ccc
      &:after
        border-color:#ccc
    .border-bottom
      &:before
        border-color:#ccc
    .list
       position: absolute
       top:1.58rem
       right: 0
       left: 0
       bottom:0
       overflow: hidden
    .title
       line-height:.54rem
       background:#eee
       padding-left:.2rem
       color: #666
       font-size: .26rem
     .button-list
       overflow: hidden
       padding:.1rem .6rem .1rem .1rem
       .buttonwrapper
         float:left
         width:33.33%
         .button
           text-align: center
           margin:.1rem
           border:.02rem solid #ccc
           padding: .1rem 0
           border-radius: .06rem
      .item-list
        line-height: .76rem
        padding-left: .2rem



</style>